1. Technical Field
The present invention relates in general to a home agent discovery algorithm and system for a computer protocol and in particular to an efficient and improved dynamic home agent discovery algorithm and system for a computer protocol that provides efficient communications and utilization of resources between a mobile computer system or device and other systems and devices, especially when the mobile computer system or device has moved from one location to another location.
2. Description of the Related Art
Computers or computer systems/devices that communicate with each other over the Internet and a home network require the use of a protocol or Internet protocol (IP). FIG. 1 is a prior art figure of a mobile computer 10 in communications with a home network 12 at one location which is moved to another location that is in communications to the Internet 14. The configuration in FIG. 1 requires a base mobile Internet protocol (IP) for providing and routing communications between computer systems and devices, especially when the mobile computer 10 has moved from one location to another location (i.e. moved from being in communication with the home network 12 to being in communication with the Internet 14). Current protocols require the use of dynamic home agent discovery algorithms in order for the mobile node 11 to discover the IP address of its home agent 16. However, inefficiencies and problems exist with current protocols, such as the base mobile Internet protocol (IP), that use present dynamic home agent discovery algorithms.
In discussing these protocols that use dynamic home agent discovery algorithms, the following terms are generally defined:
xe2x80x9cMobile Nodexe2x80x9d is a host or router that changes its point of attachment from one network or sub-network to another network or sub-network. A mobile node may change its location without hanging its IP address, and it may continue to communicate with other Internet nodes at any location using its (constant or fixed) IP address, assuming link-layer connectivity to a point of attachment is available.
xe2x80x9cHome Agentxe2x80x9d is a router on a mobile node""s home network which tunnels datagrams for delivery to the mobile node when it is away from home and maintains current location information for the mobile node. The home agent has three main operations: 1) sending agent advertisement; 2) receiving a home agent discovery request and processing the discovery request; 3) receiving a registration request and processing the registration request.
xe2x80x9cForeign Agentxe2x80x9d is a router on a mobile node""s visited network, which provides routing services to the mobile node while registered. The foreign agent detunnels and delivers datagrams to the mobile node that were tunneled by the mobile node""s home agent. For datagrams sent by a mobile node, the foreign agent may serve as a default router for registered mobile nodes.
xe2x80x9cAgent Advertisementxe2x80x9d is an advertisement, message constructed by attaching a special Extension to a router advertisement message.
xe2x80x9cCare-of Addressxe2x80x9d is the termination point of a tunnel toward a mobile node, for datagrams forwarded to the mobile node while it is away from home. The protocol is able to use two different types of care-of address: a xe2x80x9cforeign agent care-of addressxe2x80x9d is an address of a foreign agent with which the mobile node is registered and a xe2x80x9cco-located care-of addressxe2x80x9d is an externally obtained local address which the mobile node has associated with one of its own network interfaces.
xe2x80x9cCorrespondent Nodexe2x80x9d is a peer which is communicating with a mobile node. A correspondent node may be either mobile or stationary.
xe2x80x9cHome Addressxe2x80x9d is an IP address, that is assigned for an extended period of time to a mobile node. It remains unchanged regardless of where the node is attached to the Internet.
xe2x80x9cHome Networkxe2x80x9d is a network, possibly virtual, having a network prefix matching that of a mobile node""s home address. Standard IP routing mechanisms will deliver datagrams destined to a mobile node""s Home Address to the mobile node""s Home Network.
xe2x80x9cLinkxe2x80x9d is a facility or medium over which nodes are able to communicate at the link layer. A link underlies the network layer.
xe2x80x9cMobility Agentxe2x80x9d is either a home agent or a foreign agent.
xe2x80x9cMobile Node""s Failure Recovery Informationxe2x80x9d is the minimal amount of information required to recover the mobile node""s operation if its serving home agent failed. The mobile node""s failure recovery information should contain at least a mobile node""s care-of address, mobile node""s home IP address, registration lifetime, and registration flags.
xe2x80x9cAll Home Agents Multicast Addressxe2x80x9d is a D class address (multicast address) which is assigned to the set of home agents on the Internet Service Provider (ISP) network. It is recommended for mobile nodes to use this address to access home agents instead of subnet-directed broadcast address for efficiency reasons.
Computer networks and Internet links have been existence for several years. Also, wireless access and communications to these networks and to the Internet have also been in use. However, current protocols that use present dynamic home agent discovery algorithms and systems to handle and deal with communications of mobile computers to the Internet and network, such as base mobile IP, result in various problems and shortcomings.
These present protocols that use dynamic home agent discovery algorithms and systems inefficiently use wireless access and communication resources and network resources. For example, prior art FIGS. 2 and 3 show a mobile computer 10 with a mobile node 11 that communicates (through the Internet 14 having a relatively low bandwidth) with a home network 12 having a relatively large or infinite bandwidth.
One inefficiency problem with present protocols that use dynamic home agent discovery algorithms or systems stems from the fact that agent advertisement must be used by the protocol in order to detect motion and location of a mobile node 11. Prior art FIG. 2 shows mobility agents, such as home agents 16 or foreign agents, advertising their presence to a mobile node(s) 11 via agent advertisement messages. Each and every home agent 16 advertises its presence to the mobile node 11 as shown in FIG. 2. In this example, wireless networks have a set of RF channels, which is used for communication between hosts (i.e. home agents 16) and mobile nodes 11. When a host (i.e. home agents 16) wants to send a packet to a mobile node 11, the mobile node 11 is allocated one of these RF channels. Packet communication between the host (i.e. home agents 16) and the mobile node 11 commences once one of the RF channels is allocated. Many other mobile nodes 11 would also be-allocated various RF channels. If multiple home agents 16 are periodically sending agent advertisement messages, where the period between transmission, for example, is one (1) second, then low optimization of the RF bandwidth would result causing inefficient use of scarce wireless access and communication resources. A similar inefficiency problem with use of network bandwidth also exists on the network side. Thus, inefficient usage of wireless network resources, such as the use of RF channels, results from the present home dynamic home agent discovery algorithms and systems if multiple home agents send agent advertisement messages.
Another inefficiency problem with current protocols that use dynamic home agent discovery algorithms involves the mobile node 11 having to register and the home agents 16 having to reply to the registration requests. The mobile node 11 registers directly with its home agent 16. However, the mobile node 11 may not know the IP address of its home agent 16, and the mobile node 11 then uses the dynamic home agent discovery algorithms to automatically determine the IP address of its home agent 16. In this case, as shown in prior art FIG. 3, the mobile node 11 must send a home agent discovery request to each home agent 16 wherein the mobile node 11 sets the home agent subnet-directed broadcast address of the mobile node""s home network 12 and sends the home agent discovery request to each home agent 16. All of the home agents 16 receiving the home agent discovery request must reply as shown in prior art FIG. 3. If the mobile node 11 does not have a registered home agent 16, then the mobile node 11 must select and register with a home agent 16. Each home agent 16 already having a broadcast destination address must reject the mobile node""s registration request and return a rejection registration reply indicating its unicast IP address for use by the mobile node 11 in future registration attempts. The receipt by the mobile node 11 of all of the replies from the home agents 16 results in execution time inefficiencies, more complex processing, and improper utilization of radio frequency (RF) and network bandwidth.
A further problem relates to when a home agent 16 fails. If a home agent 16 fails, then a back up home agent 16 to take over the operations of the failed home agent 16 in servicing the respectively registered mobile node(s) 11 presently does not exist. Therefore, if a home agent 16 fails, then inconvenience and loss of service to the mobile node(s) 11 results. Also, if a home agent 16 fails, then time-consuming recovery operations need to be implemented or loss of operation and service by the home agent 16 (no way of recovery from failure or error) results. A system and method for recovering from such a failure or error of a home agent 16 or a backup system for such a failure or error occurrence presently do not exist.
It would therefore be advantageous and desirable to provide a protocol that has a more efficient and improved dynamic home agent discovery algorithm and system that overcomes the problems and disadvantages of the prior art algorithms. The efficient dynamic home agent discovery algorithm and system allows the implementation of a protocol that is more efficient in using the wireless access, communications resources, and the network resources, and that is more efficient in identifying home agent failures or errors and in recovering from these failures or errors.
It is therefore one object of the present invention to provide an efficient and improved dynamic home agent discovery algorithm and system to be used in a protocol for Internet or network communications.
It is another object of the present invention to provide a protocol that has a more efficient and improved dynamic home agent discovery algorithm and system which overcomes the problems and disadvantages of the prior art algorithms.
It is a further object of the present invention to provide an efficient and improved dynamic home agent discovery algorithm and system for a protocol that is more efficient in using the wireless access, communications resources, and the network resources.
It is still a further object of the present invention to provide an efficient and improved dynamic home agent discovery algorithm and system that provide a way of recovering from a failure or error that occurs at a home agent or a backup system and method that is able to be implemented when a failure or error has occurred at a home agent to provide recovery or backup home agent services to the mobile node(s) in the event of a failure or error occurrence.
The foregoing objects are achieved as is now described. The present invention is an efficient and improved dynamic home agent discovery algorithm and system to be used in a protocol for Internet or network communications. The present efficient and improved dynamic home agent discovery algorithm and system for a protocol more efficiently uses the wireless access, communications resources, and the network resources. If a failure or error occurs at a home agent, the efficient and improved dynamic home agent discovery algorithm and system provide recovery or backup home agent services to the mobile node(s) associated or coupled to the failed home agent. The efficient dynamic home agent discovery algorithm and system encapsulate and integrate communications of the home agents into a single home agent communication. Communication between the mobile node and the home agents is simplified to a single home agent communication. Dynamic home agent discovery processes are performed based on the single home agent communication. Encapsulation is achieved by having each of the home agents maintain a home agent list that contains information about each of the home agents coupled to the home link. Heart beat messages are used to communicate the information between each of the home agents. A designated home agent for the home agents receives and processes a single home agent discovery request from the mobile node, and a designated home agent for the home agents sends home agent advertisement and communicates and processes a single home agent discovery request to the mobile node.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.